19 research outputs found

    The Importance of Conflict Resolution Techniques in Autonomous Agile Teams

    Full text link
    Today, software companies usually organize their work in teams. Social science research on team development has shown that for a team to reach a productive and autonomous stage, it has to be able to manage internal conflicts and disagreements efficiently. To better facilitate the team development process, we argue that software engineers' needs additional training in negotiation skills and conflict resolution. In this position paper, we outline ideas for what aspects to consider in such training. As an example, we argue that a majority of the conflicts originate from team-level factors and that they, therefore, should be managed on the team-level instead of in relation to dyads.Comment: Accepted at 1st International Workshop on Autonomous Teams (A-TEAMS), 201

    Towards a Behavioral Software Engineering

    Get PDF

    Misaligned Values in Software Engineering Organizations

    Full text link
    The values of software organizations are crucial for achieving high performance; in particular, agile development approaches emphasize their importance. Researchers have thus far often assumed that a specific set of values, compatible with the development methodologies, must be adopted homogeneously throughout the company. It is not clear, however, to what extent such assumptions are accurate. Preliminary findings have highlighted the misalignment of values between groups as a source of problems when engineers discuss their challenges. Therefore, in this study, we examine how discrepancies in values between groups affect software companies' performance. To meet our objectives, we chose a mixed method research design. First, we collected qualitative data by interviewing fourteen (\textit{N} = 14) employees working in four different organizations and processed it using thematic analysis. We then surveyed seven organizations (\textit{N} = 184). Our analysis indicated that value misalignment between groups is related to organizational performance. The aligned companies were more effective, more satisfied, had higher trust, and fewer conflicts. Our efforts provide encouraging findings in a critical software engineering research area. They can help to explain why some companies are more efficient than others and, thus, point the way to interventions to address organizational challenges.Comment: accepted for publication in Journal of Software: Evolution and Proces

    Behavioral Software Engineering - Organizational Change Refocused

    Get PDF
    Background The development of software is not only a technical endeavor; it is significantly affected by the behaviors of the people involved. Since social scientists have been studying humans for over a century, it is likely that insights they have developed could be used to increase software development effectiveness. There are, nevertheless, indications that software engineering researchers seldom use theories developed and proven within the social sciences. Overall, software engineering research that emphasizes human aspects is still limited compared to studies with technology or process focus.Objective Given the importance of human aspects in software development, we argue that knowledge from the social sciences should be used more extensively to improve software engineering research. Therefore, the primary objective of our research was to advance software engineering by more profoundly considering humans and their behavior. For in-depth insights into such interdisciplinary research efforts, we chose to explore a specific phenomenon: organizational change. Our secondary objective was thus to create understanding to help improve software companies’ organizational change efforts.Method To address our research objectives, we used a variety of research designs and data collection methods, including literature reviews, surveys, interviews, focus groups, and quantitative analysis of project data. This diversity allowed us to examine phenomena from different perspectives.Results We provide directions for future research on behavioral aspects of software engineering by outlining the behavioral software engineering (BSE) research area, reviewing contemporary research, and identifying industrial needs. Moreover, our findings suggest that software engineers form their attitudes toward change collectively and according to their teams’ social norms, which are governed by their distinct professional identity. Our results also indicate that misalignment of organizational values between groups adversely affects change efforts and overall performance.Conclusions Our research concludes that in order to effectively manage organizational change efforts, software companies must strengthen their organizational identity and reduce misalignment of organizational values. By providing such concrete advice on how to improve organizational change, our research confirms the usefulness of and need for additional BSE research to create novel and in-depth insights into software engineering phenomena

    Qualitative software engineering research -- reflections and guidelines

    Full text link
    Researchers are increasingly recognizing the importance of human aspects in software development and since qualitative methods are used to, in-depth, explore human behavior, we believe that studies using such techniques will become more common. Existing qualitative software engineering guidelines do not cover the full breadth of qualitative methods and knowledge on using them found in the social sciences. The aim of this study was thus to extend the software engineering research community's current body of knowledge regarding available qualitative methods and provide recommendations and guidelines for their use. With the support of an epistemological argument and a literature review, we suggest that future research would benefit from (1) utilizing a broader set of research methods, (2) more strongly emphasizing reflexivity, and (3) employing qualitative guidelines and quality criteria. We present an overview of three qualitative methods commonly used in social sciences but rarely seen in software engineering research, namely interpretative phenomenological analysis, narrative analysis, and discourse analysis. Furthermore, we discuss the meaning of reflexivity in relation to the software engineering context and suggest means of fostering it. Our paper will help software engineering researchers better select and then guide the application of a broader set of qualitative research methods.Comment: 30 page

    Psychometrics in Behavioral Software Engineering: A Methodological Introduction with Guidelines

    Full text link
    A meaningful and deep understanding of the human aspects of software engineering (SE) requires psychological constructs to be considered. Psychology theory can facilitate the systematic and sound development as well as the adoption of instruments (e.g., psychological tests, questionnaires) to assess these constructs. In particular, to ensure high quality, the psychometric properties of instruments need evaluation. In this paper, we provide an introduction to psychometric theory for the evaluation of measurement instruments for SE researchers. We present guidelines that enable using existing instruments and developing new ones adequately. We conducted a comprehensive review of the psychology literature framed by the Standards for Educational and Psychological Testing. We detail activities used when operationalizing new psychological constructs, such as item pooling, item review, pilot testing, item analysis, factor analysis, statistical property of items, reliability, validity, and fairness in testing and test bias. We provide an openly available example of a psychometric evaluation based on our guideline. We hope to encourage a culture change in SE research towards the adoption of established methods from psychology. To improve the quality of behavioral research in SE, studies focusing on introducing, validating, and then using psychometric instruments need to be more common.Comment: 56 pages (pp. 1-36 for the main paper, pp. 37-56 working example in the appendix), 8 figures in the main paper. Accepted for publication at ACM TOSE

    A Method to Assess and Argue for Practical Significance in Software Engineering

    Get PDF
    A key goal of empirical research in software engineering is to assess practical significance, which answers whether the observed effects of some compared treatments show a relevant difference in practice in realistic scenarios. Even though plenty of standard techniques exist to assess statistical significance, connecting it to practical significance is not straightforward or routinely done; indeed, only a few empirical studies in software engineering assess practical significance in a principled and systematic way. In this paper, we argue that Bayesian data analysis provides suitable tools to assess practical significance rigorously. We demonstrate our claims in a case study comparing different test techniques. The case study\u27s data was previously analyzed (Afzal et al., 2015) using standard techniques focusing on statistical significance. Here, we build a multilevel model of the same data, which we fit and validate using Bayesian techniques. Our method is to apply cumulative prospect theory on top of the statistical model to quantitatively connect our statistical analysis output to a practically meaningful context. This is then the basis both for assessing and arguing for practical significance. Our study demonstrates that Bayesian analysis provides a technically rigorous yet practical framework for empirical software engineering. A substantial side effect is that any uncertainty in the underlying data will be propagated through the statistical model, and its effects on practical significance are made clear. Thus, in combination with cumulative prospect theory, Bayesian analysis supports seamlessly assessing practical significance in an empirical software engineering context, thus potentially clarifying and extending the relevance of research for practitioners

    The importance of conflict resolution techniques in autonomous agile teams

    No full text
    Today, software companies usually organize their work in teams. Social science research on team development has shown that for a team to reach a productive and autonomous stage, it has to be able to manage internal conflicts and disagreements efficiently. To better facilitate the team development process, we argue that software engineers needs additional training in negotiation skills and conflict resolution. In this position paper, we outline ideas for what aspects to consider in such training. As an example, we argue that a majority of the conflicts originate from team-level factors and that they, therefore, should be managed on the team-level instead of in relation to dyads

    What software engineering can learn from research on affect in social psychology

    No full text
    Social psychology researchers have, traditionally, focused on the construct of thinking rather than on feeling. Since the beginning of the 21st century, social science researchers have, however, increasingly explored the effects of affect. Their work has repeatedly recognized that affects play a crucial role in determining people\u27s behavior. In this short paper, we argue that software engineering studies on affect would benefit from using more of the knowledge that social science researchers have acquired. Without accounting for their findings, we risk re-inventing the wheel. Also, without a profound understanding of the complex interplay between social context and affect, we risk creating overly simplistic solutions that might have considerable long-term adverse effects for software engineers
    corecore